package com.appleyk;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;

/**
 * <p>用户Servlet，主要处理和用户信息相关的业务</p>
 *
 * @author Appleyk
 * @version v1.0
 * @blob https://blog.csdn.net/appleyk
 * @github https://github.com/kobeyk
 * @date created on 2023/1/26:0:16
 */
@WebServlet(name="userServlet",value = "/users")
public class UserServlet extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        /**设置下面这个以后，表单传过来的参数中文值就不是乱码了！*/
        request.setCharacterEncoding("UTF-8");
        /**常用方法*/
        // 获取请求时的完整路径（从http开始，到"?"前面结束）
        String url = request.getRequestURL().toString();
        System.out.println("获取请求时的完整路径:"+url);
        // 获取请求时的部分路径 （从项目的站点名开始，到"?"前面结束）
        String uri = request.getRequestURI();
        System.out.println("获取请求时的部分路径:"+uri);
        // 获取请求时的参数字符串（从"?"后面开始，到最后的字符串）
        String queryString = request.getQueryString();
        System.out.println("获取请求时的参数字符串:"+queryString);
        // 获取请求方式（Get or Post）
        String method = request.getMethod();
        System.out.println("获取请求方式:"+method);
        // 获取当前请求的协议版本 （HTTP/1.1）
        String protocol = request.getProtocol();
        System.out.println("获取当前请求的协议版本:"+protocol);
        // 获取项目的站点名称
        String contextPath = request.getContextPath();
        System.out.println("获取项目的站点名称:"+contextPath);
        // 获取servlet的名称
        String servletPath = request.getServletPath();
        System.out.println("获取servlet的名称:"+servletPath);
        System.out.println("users servlet!");
        response.getWriter().write("hello users servlet!");
    }
}
